Databases play an important role in the modern business world. Significant amounts of time and resources are expended in creating and managing databases. Additionally, companies are continuously looking for methods to decrease the time and resources spent managing and modifying the databases. One area of database management where companies spend considerable time and resources is the area of database translation from an original or source language (i.e. English) to a new or target language (i.e. Spanish, Chinese, or any language other than the original or source language).
The prior art has presented two basic solutions to the problem of database translation which can be described as script translation and extract translation. The script translation method requires translators to access the actual database source code and translate the string literals in the database source code into the target language. Script translation is inconvenient, inefficient, and expensive. Script translation must be repeated every time the database needs to be translated into a new target language. Moreover, script translation is prone to the introduction of errors to the source code because the any typographical errors introduced by the translators (such as replacing an apostrophe (') with a quotation mark (”)) effects a change in the source code and the output of the program. Such unintended and inadvertent errors are to be expected when translators, who are not code writers, are given access to source code. The cost of rectifying such errors can be significant because such errors are difficult to identify and remove.
The extract translation method involves extracting the string literals out of the database script, translating the string literals separately, and then inserting the string literals back into the database script. However, the extraction process makes it difficult to keep track of the changes made to source code during the numerous extractions and replacements. Moreover, the extraction process must be repeated every time the database needs to be translated into a new target language. Therefore, what is needed beyond the prior art is a method for translating a database script from a source language into a target language which makes it easier to track the changes to the source code and allows the database script to be translated into a plurality of different languages.
Furthermore, the cost of translating any type of documentation is expensive and time consuming. The applications associated with the database must be translated and so a data file will exist containing translated terms that will correspond to most, if not all, of the string literals in the database source code. Use of the data files to translate the string literals in the database script would eliminate the need to have a translator translate the database script. Therefore, a need exists for a method of utilizing a data file to translate the string literals in a database script.
The prior art has previously addressed the problem of translating portions of a computer program. For example, U.S. Pat. No. 6,546,365 (the '365 patent) entitled “System for National Language Support and Automated Translation Table” discloses a method for translating the documentation of a computer program using a translation table. The invention in the '365 patent utilizes the translation table to translate the display items into the user's language. However, method of the '365 patent translates only the message files in the computer program. The '365 patent also makes several modifications to the source code of the underlying computer program. What is needed beyond the prior art is a method for translating data in a database with minimal modification to the source code.